1. Technical Field
Embodiments described in this disclosure generally relate to techniques for reducing loss for data frames requiring in-order delivery on a Fibre Channel fabric. More specifically, embodiments described in this disclosure relate to providing less loss for in-order delivery in a Fibre Channel Fabric following a change in network topology.
2. Description of the Related Art
Switches in a Fibre Channel (FC) fabric, are often connected by multiple inter-switch links (ISL). Some applications, such as storage applications, communicating across a FC fabric, are often not designed to handle out-of-order delivery of frames and require that the FC fabric preserve the order of frames as they are delivered to the destination.
Traffic through the FC fabric is usually sent on some or all of the ISLs based on the cost of each link (dynamically determined by the switches). For example, the cost of each link and paths of flows in the FC fabric may be determined using the known Fabric Shortest Path First (FSPF) routing protocol. Sometimes, one flow may be able to traverse the FC fabric via multiple equal-cost paths. During topology changes in the FC fabric a change in the number of paths a flow can take may result in out-of-order delivery of frames.
To avoid out-of-order delivery, packets in affected flows need to be flushed after detecting a change in topology. For example, flushing packets may be performed by blocking traffic of effected flows for a certain worst-case period of time. One worst-case period of time may be the maximum lifetime of a packet within a switch multiplied by hop counts until the point of interest. Typically, a worst-case period of time is about 500 ms. However, blocking traffic for the worst-case period of time can disrupt network operation as more packets are dropped than necessary and network operation is at least temporarily halted.